﻿Imports CSVReader.Logic
Imports NUnit.Framework

<TestFixture()> _
Public Class TextParserTest

    <Test()> _
    Public Sub Erste_Zeile_wird_ausgelassen()
        Dim SUT = New TextParser

        Dim Result = SUT.GetListOfLines("Name,Vorname,Straße" & Environment.NewLine & "Mustermann,Max,Musterstraße 1" & Environment.NewLine)

        Assert.That(Result(0), [Is].Not.EqualTo("Name,Vorname,Straße"))
    End Sub

    <Test()> _
   Public Sub Inhalt_wird_korrekt_ausgegeben()
        Dim SUT = New TextParser

        Dim Result = SUT.GetListOfLines("Name,Vorname,Straße" & Environment.NewLine & "Mustermann,Max,Musterstraße 1" & Environment.NewLine)

        Assert.That(Result(0), [Is].EqualTo(New String() {"Mustermann", "Max", "Musterstraße 1"}))
    End Sub

    <Test()> _
    Public Sub Text_mit_Leerzeichen_wird_korrekt_getrennt()
        Dim SUT = New TextParser

        Dim Result = SUT.GetListOfLines("Name,Vorname,Straße" & Environment.NewLine & "Mustermann, Max,Musterstraße 1" & Environment.NewLine)

        Assert.That(Result(0), [Is].EqualTo(New String() {"Mustermann", "Max", "Musterstraße 1"}))
    End Sub

    <Test()> _
    Public Sub CSVDatei_mit_Text_ergibt_Liste_mit_erwarteter_Länge()
        Dim SUT = New TextParser

        Dim Result = SUT.GetListOfLines("Name,Vorname,Straße" & Environment.NewLine & "Mustermann, Max,Musterstraße 1" & Environment.NewLine)

        Assert.That(Result.Count, [Is].EqualTo(1))
    End Sub

End Class